// 正则工具类
function isImg(fileName) {
  return /^.*\.(png|jpg|jpeg|PNG|JPG|JPEG)$/.test(fileName);
}

function isHttp(url) {
  return url.indexOf("http") === 0;
}

function isHttps(url) {
  return url.indexOf("https") === 0;
}

function isHttpOrHttps(url) {
  return isHttp(url) || isHttps(url);
}

/**
 * 验证 2-9 位名称
 *
 * @param {*} name
 * @return {*}
 */
function validateName(name) {
  const reg = /^[\u4e00-\u9fa5]{2,9}$/;
  return reg.test(name);
}

/**
 * 校验手机号
 *
 * @param {*} mobile
 * @return {*}
 */
function validatePhoneNum(mobile) {
  const reg = /^1[3,4,5,6,7,8,9]\d{9}$/;
  return reg.test(mobile);
}

/**
 * 校验6到18位大小写字母数字下划线组成的密码
 *
 * @param {*} password
 * @return {*}
 */
function validatePassword(password) {
  const reg = /^[a-zA-Z0-9_]{6,18}$/;
  return reg.test(password);
}

/**
 * 过滤特殊字符
 *
 * @param {*} str
 * @return {*}
 */
function filterCharacter(str) {
  // 首先设置一个模式
  let pattern = new RegExp(
    "[`~!@#$^&*()=：”“'。，、？|{}':;'%,\\[\\].<>/?~！@#￥……&*（）&;—|{ }【】‘；]"
  );
  let resultStr = "";
  for (let i = 0; i < str.length; i++) {
    // 主要通过 replace ，pattern 规则 去把字符替换成空 最后拼接在 resultStr
    resultStr = resultStr + str.substr(i, 1).replace(pattern, "");
  }
  // 当循环结束的时候返回最后结果 resultStr
  return resultStr;
}

export default {
  isImg,
  isHttp,
  isHttps,
  isHttpOrHttps,
  filterCharacter,
  validateName,
  validatePassword,
  validatePhoneNum,
};
